Field of the Invention
This invention relates to the field of data processing systems. More particularly, this invention relates to access alignment control of memory accesses performed within data processing systems.
Description of the Prior Art
It is known to provide data processing systems with mechanisms which check memory access alignment. Memory accesses may be unconstrained, such that any individual byte within the memory may be addressed by any sized memory access or they may be alignment constrained such that only memory accesses aligned with, for example, half-word, word, double-word etc boundaries within the memory may be made. Generally speaking, enforcement of memory access alignment requirements is helpful in the provision of high speed memory accesses, e.g. wide data buses may be used with these not having to accommodate accesses which are unaligned with the data bus width. However, a requirement for only aligned memory accesses is problematic when manipulating packed data structures in which the data elements being accessed may not themselves necessarily have boundaries which align with the alignment constraints imposed. In some situations instructions which are being executed may require alignment of the data accesses, such as some read-modify-write instructions to the stack data store. Furthermore, some application binary interfaces specify access alignment.